home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __author__ = 'Robert Ancell <bob27@users.sourceforge.net>'
- __license__ = 'GNU General Public License Version 2'
- __copyright__ = 'Copyright 2005-2006 Robert Ancell'
- import game
- import ai
-
- class MovePlayer(game.ChessPlayer):
- '''This class provides a pseudo-player to watch for piece movements'''
-
- def __init__(self, chessGame):
- """Constructor for a move player.
-
- 'chessGame' is the game to make changes to (ChessGame).
- """
- self._MovePlayer__game = chessGame
- game.ChessPlayer.__init__(self, '@move')
-
-
- def onPlayerMoved(self, p, move):
- '''Called by chess.board.ChessPlayer'''
- self._MovePlayer__game.setNeedsSaving(True)
- if p is self._MovePlayer__game.getWhite():
- if self._MovePlayer__game.wT is not None:
- self._MovePlayer__game.wT.controller.pause()
-
- if self._MovePlayer__game.bT is not None:
- self._MovePlayer__game.bT.controller.run()
-
- elif self._MovePlayer__game.bT is not None:
- self._MovePlayer__game.bT.controller.pause()
-
- if self._MovePlayer__game.wT is not None:
- self._MovePlayer__game.wT.controller.run()
-
- if self._MovePlayer__game.view.moveNumber != -1:
- p.endMove()
-
- self._MovePlayer__game.view.controller.addMove(move)
-
-
- def onUndoMove(self):
- self._MovePlayer__game.view.controller.undoMove()
-
-
- def onGameEnded(self, game):
- '''Called by chess.board.ChessPlayer'''
- self._MovePlayer__game.setNeedsSaving(True)
- self._MovePlayer__game.view.controller.endGame(game)
-
-
-
- class HumanPlayer(game.ChessPlayer):
- '''
- '''
- __game = None
-
- def __init__(self, chessGame, name):
- """Constructor.
-
- 'chessGame' is the game this player is in (game.ChessGame).
- 'name' is the name of this player (string).
- """
- game.ChessPlayer.__init__(self, name)
- self._HumanPlayer__game = chessGame
-
-
- def readyToMove(self):
- self._HumanPlayer__game.view.controller.setAttention(True)
-
-
-
- class AIPlayer(ai.Player):
- '''
- '''
-
- def __init__(self, application, name, profile, level, description):
- '''
- '''
- executable = profile.path
- for arg in profile.arguments[1:]:
- executable += ' ' + arg
-
- self.window = application.ui.controller.addLogWindow(profile.name, executable, description)
- ai.Player.__init__(self, name, profile, level)
-
-
- def logText(self, text, style):
- '''Called by ai.Player'''
- self.window.addText(text, style)
-
-
-